|
Cytosim
PI
Cytoskeleton Simulator
|
A Hand is always part of a larger construct, for example Single or Couple.
Hand is the parent to many class that implement different fiber-related activities. Hand provides binding/unbinding capacity to these derived classes.
Attachment occurs with constant rate attach_rate to any fiber located at distance attach_range or less. If attachment occurs, it happens on the closest point of the fiber, which is either the projection of the point on the fiber, or one of the fiber end.
Detachment increases exponentially with force:
See Parameters of Hand.
Public Member Functions | |
| Hand (HandProp const *, HandMonitor *h) | |
| constructor More... | |
| virtual | ~Hand () |
| destructor | |
| virtual bool | attachmentAllowed (FiberBinder &site) |
| tell if attachment at given site is possible More... | |
| virtual void | attach (FiberBinder &site) |
| attach the hand at the position described by site More... | |
| virtual void | detach () |
| detach | |
| virtual void | stepFree (const FiberGrid &, Vector const &pos) |
| simulate when the Hand is not attached More... | |
| virtual void | stepUnloaded () |
| simulate when the Hand is attached but not under load More... | |
| virtual void | stepLoaded (Vector const &force) |
| simulate when the Hand is attached and under load More... | |
| virtual void | handleOutOfRange (FiberEnd) |
| this is called when the attachment point is outside the Fiber's range | |
| void | attachTo (Fiber *, real ab, FiberEnd from) |
| attach to the given position on the given Fiber (calls attach(FiberBinder)) | |
| void | attachToEnd (Fiber *, FiberEnd end) |
| attach to the given end on the given Fiber (calls attach(FiberBinder)) | |
| void | read (InputWrapper &, Simul &) |
| read | |
| void | write (OutputWrapper &) const |
| write | |
Public Member Functions inherited from FiberBinder | |
| FiberBinder () | |
| construct as unattached | |
| FiberBinder (Fiber *f, real a) | |
| construct at the given distance from the origin | |
| void | relocate (Fiber *f) |
| move to a different fiber, at same abscissa | |
| void | relocate (Fiber *f, real a) |
| move to a different fiber, at given position | |
| void | moveToEnd (FiberEnd end) |
| move to the specified FiberEnd (CENTER is also a valid argument) | |
| void | moveTo (real abs) |
| move along the Fiber to specified abscissa, or detach | |
| void | moveBy (real dabs) |
| move along the Fiber by the abscissa offset dabs, or detach | |
| bool | attached () const |
| true if attached | |
| Fiber * | fiber () const |
| Fiber to which this is attached, or zero if not attached. | |
| Vector | pos () const |
| position in space | |
| Vector | dir () const |
| direction of Fiber obtained by normalization | |
| Vector | dirFiber () const |
| the direction of the Fiber at the point of attachment | |
| real | abscissa () const |
| the abscissa, from the origin of the Fiber | |
| real | abscissaFrom (FiberEnd from) const |
| abscissa, counted from the specified FiberEnd (in reversed direction for the PLUS_END) | |
| FiberEnd | nearestEnd () const |
| nearest end to the point specified by the abscissa from the origin | |
| bool | withinP () const |
| true if abscissa is below abscissaP | |
| bool | withinM () const |
| true if abscissa is above abscissaM | |
| bool | within () const |
| true if abscissa is within the fiber boundaries | |
| const PointInterpolated & | interpolation () const |
| the interpolation | |
| void | updateBinder () |
| set a valid PointInterpolated | |
| void | checkFiberRange () |
| check the abscissa against the edges of the fiber, calling handleOutOfRange() if necessary. | |
| FiberBinder * | next () const |
| a static_cast<> of Node::next() | |
| FiberBinder * | prev () const |
| a static_cast<> of Node::prev() | |
| void | checkAbscissa () const |
| check that fbAbs is within Fiber::abscissaM() and Fiber::abscissaP() | |
| int | bad () const |
| check validity of the interpolation (debuging purposes) | |
Public Member Functions inherited from Node | |
| Node () | |
| constructor set as unlinked | |
| virtual | ~Node () |
| destructor More... | |
| bool | linked () const |
| true if Node is linked | |
| Node * | next () const |
| the next Node in the list, or zero if this is last | |
| Node * | prev () const |
| the previous Node in the list, or zero if this is first | |
| NodeList * | list () const |
| the list where the object is linked, or zero | |
| ObjectSet * | objset () const |
| return associated ObjectSet | |
Public Attributes | |
| HandProp const * | prop |
| Property. | |
Protected Member Functions | |
| bool | testDetachment () |
| test for detachment with rate prop->unbinding_rate More... | |
| bool | testKramersDetachment (real force) |
| test for detachment with Kramers theory More... | |
Protected Attributes | |
| HandMonitor * | haMonitor |
| the monitor associated with this Hand | |
| real | nextAttach |
| Gillespie normalized time for attachment. | |
| real | nextDetach |
| Gillespie normalized time for detachment. | |
Protected Attributes inherited from FiberBinder | |
| Fiber * | fbFiber |
| the Fiber on which it is attached, or 0 if not attached | |
| real | fbAbs |
| the abscissa from the Fiber origin | |
Protected Attributes inherited from Node | |
| Node * | nNext |
| the next Node in the list | |
| Node * | nPrev |
| the previous Node in the list | |
| Hand | ( | HandProp const * | p, |
| HandMonitor * | h | ||
| ) |
|
virtual |
This also sets the Gillespie detachment time nextDetach
Reimplemented from FiberBinder.
|
virtual |
Tests if attachment at site fb is possible:
Reimplemented in Tracker.
Test for attachment to nearby Fibers, using the Gillespie time nextAttach
Reimplemented in Nucleator.
|
virtual |
Test for force-induced detachment following Kramers' law, vith basal rate HandProp::unbinding_rate, and characteristic force HandProp::unbinding_force
Reimplemented in Motor, Nucleator, Rescuer, Tracker, Slider, Cutter, Mighty, and Actor.
|
virtual |
|
protected |
Test for spontaneous detachment using Gillespie approach.